﻿
Public Class Settings

    Private _var_download_dir As String
    Private _var_existing_file_handling As ExistingFileHandling
    Private _var_prevent_standby As Boolean = False
    Private _var_create_download_dir As Boolean
    Private _var_create_download_dir_filename As Boolean
    Private _var_create_download_dir_description As Boolean
    Private _var_create_download_subfolder_package As Boolean
    Private _var_max_download_threads As Integer
    Private _var_max_retry As Integer = 3
    Private _var_wait_time_retry As Integer = 3
    Private _var_mark_all_containerfiles As Boolean
    Private _var_language As String = "de"

    Private _var_send2tray As Boolean = False
    Private _var_clicknload_enabled As Boolean = True
    Private _var_search_updates As Boolean = False
    Private _var_instant_video As Boolean = False
    Private _var_delete_sfdl_after_open As Boolean = False

    Private _var_speedreport_settings As New SpeedreportSettings
    Private _var_unrar_settings As New UnRARSettings
    Private _var_remote_control_settings As New RemoteControlSettings

    Public Property DeleteSFDLAfterOpen As Boolean
        Set(value As Boolean)
            _var_delete_sfdl_after_open = value
        End Set
        Get
            Return _var_delete_sfdl_after_open
        End Get
    End Property

    Public Property Language As String
        Set(value As String)
            _var_language = value
        End Set
        Get
            Return _var_language
        End Get
    End Property

    Public Property DownloadDirectory As String
        Set(value As String)
            _var_download_dir = value
        End Set
        Get
            Return _var_download_dir
        End Get
    End Property

    Public Property ExistingFileHandling As ExistingFileHandling
        Set(value As ExistingFileHandling)
            _var_existing_file_handling = value
        End Set
        Get
            Return _var_existing_file_handling
        End Get
    End Property

    Public Property PreventStandby As Boolean
        Set(value As Boolean)
            _var_prevent_standby = value
        End Set
        Get
            Return _var_prevent_standby
        End Get
    End Property

    Public Property CreateDownloadDirUseDescription As Boolean
        Set(value As Boolean)
            _var_create_download_dir_description = value
        End Set
        Get
            Return _var_create_download_dir_description
        End Get
    End Property

    Public Property CreateDownloadDirUseFilename As Boolean
        Set(value As Boolean)
            _var_create_download_dir_filename = value
        End Set
        Get
            Return _var_create_download_dir_filename
        End Get
    End Property

    Public Property CreateDownloadDir As Boolean
        Set(value As Boolean)
            _var_create_download_dir = value
        End Set
        Get
            Return _var_create_download_dir
        End Get
    End Property

    Public Property CreatePackageSubfolder As Boolean
        Set(value As Boolean)
            _var_create_download_subfolder_package = value
        End Set
        Get
            Return _var_create_download_subfolder_package
        End Get
    End Property

    Public Property Send2Tray As Boolean
        Set(value As Boolean)
            _var_send2tray = value
        End Set
        Get
            Return _var_send2tray
        End Get
    End Property

    Public Property ClicknLoadEnabled As Boolean
        Set(value As Boolean)
            _var_clicknload_enabled = value
        End Set
        Get
            Return _var_clicknload_enabled
        End Get
    End Property

    Public Property MaxDownloadThreads As Integer
        Set(value As Integer)
            _var_max_download_threads = value
        End Set
        Get
            Return _var_max_download_threads
        End Get
    End Property

    Public Property MaxRetry As Integer
        Set(value As Integer)
            _var_max_retry = value
        End Set
        Get
            Return _var_max_retry
        End Get
    End Property

    Public Property RetryWaitTime As Integer
        Set(value As Integer)
            _var_wait_time_retry = value
        End Set
        Get
            Return _var_wait_time_retry
        End Get
    End Property

    Public Property MarkAllContainerFiles As Boolean
        Set(value As Boolean)
            _var_mark_all_containerfiles = value
        End Set
        Get
            Return _var_mark_all_containerfiles
        End Get
    End Property

    Public Property SearchUpdates As Boolean
        Set(value As Boolean)
            _var_search_updates = value
        End Set
        Get
            Return _var_search_updates
        End Get
    End Property

    Public Property UnRARSettings As UnRARSettings
        Set(value As UnRARSettings)
            _var_unrar_settings = value
        End Set
        Get
            Return _var_unrar_settings
        End Get
    End Property

    Public Property SpeedReportSettings As SpeedreportSettings
        Set(value As SpeedreportSettings)
            _var_speedreport_settings = value
        End Set
        Get
            Return _var_speedreport_settings
        End Get
    End Property

    Public Property RemoteControlSettings As RemoteControlSettings
        Set(value As RemoteControlSettings)
            _var_remote_control_settings = value
        End Set
        Get
            Return _var_remote_control_settings
        End Get
    End Property

    Public Property InstantVideo As Boolean
        Set(value As Boolean)
            _var_instant_video = value
        End Set
        Get
            Return _var_instant_video
        End Get
    End Property

End Class
